package com.xteam.xnetworkdisk.utilsinterface;

import lombok.SneakyThrows;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

public interface FileUtils {

    String copyFile(String bucketName, String oldFileName);

    String uploadFile(MultipartFile file, String bucketName, String suffix);

    String uploadFile(InputStream file, String bucketName, String suffix, Long fileSize, String contentType);

    public boolean deleteFile(String fullPath);
    public String[] parseBucketAndFilename(String fullPath);
    public String uploadFile(InputStream inputStream, String bucketName, String fileName, String contentType) throws Exception;

    @SneakyThrows
    String generatePresignedUrl(String fullPath, String filenameR);

    @SneakyThrows
    InputStream getFileInputStreamFromDisplayPath(String displayPath);
}
